In an IMS network, a user (or ‘subscriber’) registers a user device (or ‘user equipment’) with a Serving Call Session Control Function (S-CSCF) to receive service. A Home Subscriber Server (HSS) tracks to which S-CSCF a user is registered by storing a Uniform Resource Identifier (URI) of the S-CSCF against a user identifier, for example a Session Initiation Protocol (SIP) URI of the user. An Interrogating CSCF (I-CSCF) queries the HSS for the URI of the S-CSCF to which a user is registered and routes SIP requests relating to the user to that S-CSCF using the URI of the S-CSCF.
A user may be served by an S-CSCF even when the user is not registered, for example to provide call diversion and/or voicemail services when a device (for example a SIP device) of the user is turned off. In such cases, the user is assigned to the S-CSCF and not registered, rather than being registered with the S-CSCF.
Unlike the subscriber-registration flow to register a user to an S-CSCF, which is standards-mandated, there is no standards-mandated un-assignment flow to un-assign a user from an S-CSCF to which they are assigned.
As such, in a geographically distributed deployment, a user may be assigned to a remote S-CSCF, for example at random, while they are unregistered and then may be registered with the same S-CSCF when they subsequently register. On the one hand, the S-CSCF to which the user was assigned may already have a service profile for the user and therefore need not retrieve the service profile again from the HSS if the user subsequently registers with the S-CSCF. However, on the other hand, the S-CSCF to which the user was assigned may be less preferred for registration than an S-CSCF that is more local to the user, for example because assigning the user to a more local S-CSCF may improve network bandwidth usage and user experience. As such, in some cases it may be desirable for the S-CSCF with which a user is registered to be different from the S-CSCF to which a user had been assigned. When a user is registered to a new S-CSCF, the user is no longer assigned to the previous S-CSCF.